import { ref } from 'vue'
import axios from 'axios'

function useURLLoader<T>(url: string) {
	const result = ref<T | null>(null)
	const loading = ref(true)
	const error = ref(null)

	axios
		.get(url)
		.then((res) => {
			loading.value = false
			result.value = res.data
		})
		.catch((e) => {
			error.value = e
			loading.value = false
		})

	return {
		result,
		loading,
		error,
	}
}

export default useURLLoader
